
#ifndef MEMBERACCOUNT_H
#define	MEMBERACCOUNT_H

#include <iostream>
#include <istream>
#include <string>
#include <vector>
//
using namespace std;

class MemberAccount
{
    
private:
    
    string userID;
    string userName;
    string userPassword;
    vector<string> reviewGrantedFor;
    int rewardsPoints;
    
protected:
    
    void login();
    void logout();
    MemberAccount encryptLoginDetails(MemberAccount& aAccount);
    void decryptLoginDetails();
    
    void viewHotelReview();
    void searchHotel();
    void createHotelReview();
    void viewHotelItem();
    void requestReviewPermission();
    void viewPermitedHotel();
    
    bool verification(MemberAccount);
    
public:
    
    MemberAccount();
    MemberAccount(string, string, string, int);
    ~MemberAccount();
    
    string getCustomerID();
    string getCustomerName();
    string getCustomerPassword();
    int getRewardsPoints();
    
    void setCustomerID(string cid);
    void setCustomerName(string nme);
    void setCustomerPassword(string pwd);
    void setRewardsPoints(int rp);
    
    bool operator==(MemberAccount&);
    MemberAccount operator=(MemberAccount&);
    
    friend istream& operator>>(istream&, MemberAccount&);
    
};

#endif	/* MEMBERACCOUNT_H */

